Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve web sockets and add autobahn test suite client #1836

Merged
merged 13 commits into from
Jul 12, 2017

Conversation

s-ludwig
Copy link
Member

This is a rebased version of #1534, adjusted for the changes in #1792.

Geod24 and others added 13 commits July 12, 2017 09:06
…st autobahn

Autobahn (http://autobahn.ws/testsuite) is a comprehensive test suite
of the Websocket specifications.
This test won't be run by default as it requires way too much ressources
to put it into the CI, but can trivially be run manually by anyone wanting
to test the websockets implementation for conformity.
We should not assume what the user is sending, as it varies from one application to another.
The default might as well be binary and would seem more sensible to some.
Reduce the need for additional buffer, opening the way
for more memory improvements, and document what it is
doing.

Also corrects a bug with length == 65536, as it would be cast
to `ushort` which maximum size is 65535.

Finally, fixup documentation and type of FrameOpcode.
Reduce number of static buffers (3 -> 1)
Comment the internals
Only demask when the frame is masked (the previous code didn't yield incorrect data,
but needlessly iterated and assigned data to an array)
Check that the most significant bit of the 8 bytes length is 0.
@dlang-bot dlang-bot merged commit 3ca4a94 into master Jul 12, 2017
@s-ludwig s-ludwig deleted the 1534_websockets branch July 16, 2017 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants